
package artistic;

import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelEvent;
import javax.swing.Icon;

/**
 * Interface for paint tools.
 * 
 * @author Mikael Andersson
 * @author Rurik Högfeldt
 */

public interface PaintTool {
    /**
     * Called by PaintWindow whenever there has
     * been new mouse input.
     *
     * @param target - The window associated with the input.
     * @param e - Event information.
     */
    public void mouseCallback(PaintWindow target, MouseEvent e);
    /**
     * Called by PaintWindow whenever there has
     * been new mouse wheel input.
     *
     * @param target - The window associated with the input.
     * @param e - Event information.
     */
    public void mouseWheelCallback(PaintWindow target, MouseWheelEvent e);

    public Icon getIcon();
}
